package com.focus.wecenter.service;

import com.focus.wecenter.pojo.Article;
import com.focus.wecenter.pojo.ArticleComment;
import com.focus.wecenter.util.PageBean;
import com.focus.wecenter.web.vo.QuestionPublishForm;
import com.focus.wecenter.web.vo.SearchResult;

import java.util.List;

/**
 * 文章业务接口
 *
 * @author Lv Jing
 * @date 2018年01月08日 17:16
 */
public interface ArticleService {

    /**
     * 发布文章
     * @param questionPublishForm 表单
     * @return 保存的文章
     */
    Article publishArticle(QuestionPublishForm questionPublishForm);

    /**
     * 根据ID查找文章
     * @param articleID 文章ID
     * @return 文章对象
     */
    Article findArticleByID(int articleID);

    /**
     * 分页显示文章
     * @param currentPage 当前页
     * @param pageSize 页面大小
     * @return 分页结果
     */
    PageBean<Article> findArticleByPage(int currentPage, int pageSize);

    /**
     * 保存文章评论
     * @param message  评论内容
     * @param userID   评论用户
     * @param articleID 评论的文章
     * @return 保存的评论对象
     */
    ArticleComment saveAnswerComment(String message, int userID, int articleID);

    /**
     * 查询文章
     * @param query 查询关键字
     * @param limit 条数
     * @return 查询结果
     */
    List<SearchResult> searchArticle(String query, int limit);
}
